package cn.fl.sue.voTransform;

import java.util.ArrayList;
import java.util.List;

import cn.cmm.base.framework.utils.CollectionUtils;
import cn.cmm.base.framework.utils.DateUtils;
import cn.fl.sue.dto.SueApplyInfoDTO;
import cn.fl.sue.vo.SueApplyInfoVO;

 /**
 * @Description: 诉讼申请记录表 转换器
 * @Description: VO是客户端传递数据到服务端进行转换的数据 
 * @Description: VO转换数据变成DTO传递到服务端 
 * @Description: VO不能在服务端出现
 */
public class SueApplyInfoVOTransform {


	/**
	 * DTO 转  VO
	 * @return SueApplyInfoVO
	 */
	public static SueApplyInfoVO toVO(SueApplyInfoDTO dto) {
		SueApplyInfoVO  vo = null;
		if (dto != null) { 
			vo = new SueApplyInfoVO();
			vo.setId(dto.getId());
			vo.setDataId(dto.getDataId());//数据主键ID（项目ID、小贷账单ID、保险分期ID、垫款ID）
			vo.setApplyerId(dto.getApplyerId());//申请人ID sys_usr.id
			vo.setApplyerNm(dto.getApplyerNm());//申请人名称 sys_usr_sys_r.rl_nm
			vo.setApplyerPhone(dto.getApplyerPhone());//申请人电话 sys_usr.mp
			vo.setApplyerDt(DateUtils.formatDateToString(dto.getApplyerDt(),DateUtils.YYYY_MM_DD));//申请时间
			vo.setApplyerOrgCd(dto.getApplyerOrgCd());//申请人组织架构代码
			vo.setBreachTypCd(dto.getBreachTypCd());//违约类型CODE(SUE0001)
			vo.setSueWayCd(dto.getSueWayCd());//诉讼方式CODE(SUE0002)
			vo.setIsHaveAssCd(dto.getIsHaveAssCd());//是否有可执行资产CODE (SYS0021)
			vo.setIsWell(dto.getIsWell());//是否保全CODE (SYS0021)
			vo.setWellAmt(dto.getWellAmt());//保全费 (分)
			vo.setSueDomainCd(dto.getSueDomainCd());//诉讼管辖(SUE0003)
			vo.setLawyerId(dto.getLawyerId());//受理法务id sys_usr.id
			vo.setLawyerNm(dto.getLawyerNm());//受理法务名称 sys_usr_sys_r.rl_nm
			vo.setLawyerCd(dto.getLawyerCd());//受理法务工号 sys_usr.usr_nm
			vo.setLawyerRem(dto.getLawyerRem());//诉讼申请说明
			vo.setSueStsCd(dto.getSueStsCd());//诉讼状态(SUE0007)
			vo.setIsDel(dto.getIsDel());//是否删除（1：是，0：否）
			vo.setDataTable(dto.getDataTable());//data_id的表名称
			vo.setCaseNo(dto.getCaseNo());//案件编号 冗余SUE_BSC_INFO.CASE_NO 的首次立案编号
			vo.setRegistTm(dto.getRegistTm());//立案时间 冗余SUE_BSC_INFO.REGIST_TM 的首次立案时间
			vo.setCaseNo2(dto.getCaseNo2());//二审的案件编号 SUE_BSC_INFO.CASE_NO
			vo.setRegistTm2(dto.getRegistTm2());//二审立案时间 SUE_BSC_INFO.REGIST_TM

			vo.setCrtTm(dto.getCrtTm());//创建时间
			vo.setCrtUsrId(dto.getCrtUsrId());//创建人
			vo.setMdfTm(dto.getMdfTm());//修改时间
			vo.setMdfUsrId(dto.getMdfUsrId());//修改人
		}
		return vo;
	}

	/**
	 * VO 转 DTO
	 * @return SueApplyInfoDTO
	 */
	public static SueApplyInfoDTO toDTO(SueApplyInfoVO vo) {
		SueApplyInfoDTO dto = null;
		if (vo != null) {
			dto = new SueApplyInfoDTO();
			dto.setId(vo.getId());
			dto.setDataId(vo.getDataId());//数据主键ID（项目ID、小贷账单ID、保险分期ID、垫款ID）
			dto.setApplyerId(vo.getApplyerId());//申请人ID sys_usr.id
			dto.setApplyerNm(vo.getApplyerNm());//申请人名称 sys_usr_sys_r.rl_nm
			dto.setApplyerPhone(vo.getApplyerPhone());//申请人电话 sys_usr.mp
			dto.setApplyerDt(DateUtils.formatStringToDate(vo.getApplyerDt(),DateUtils.YYYY_MM_DD));//申请时间
			dto.setApplyerOrgCd(vo.getApplyerOrgCd());//申请人组织架构代码
			dto.setBreachTypCd(vo.getBreachTypCd());//违约类型CODE(SUE0001)
			dto.setSueWayCd(vo.getSueWayCd());//诉讼方式CODE(SUE0002)
			dto.setIsHaveAssCd(vo.getIsHaveAssCd());//是否有可执行资产CODE (SYS0021)
			dto.setIsWell(vo.getIsWell());//是否保全CODE (SYS0021)
			dto.setWellAmt(vo.getWellAmt());//保全费 (分)
			dto.setSueDomainCd(vo.getSueDomainCd());//诉讼管辖(SUE0003)
			dto.setLawyerId(vo.getLawyerId());//受理法务id sys_usr.id
			dto.setLawyerNm(vo.getLawyerNm());//受理法务名称 sys_usr_sys_r.rl_nm
			dto.setLawyerCd(vo.getLawyerCd());//受理法务工号 sys_usr.usr_nm
			dto.setLawyerRem(vo.getLawyerRem());//诉讼申请说明
			dto.setSueStsCd(vo.getSueStsCd());//诉讼状态(SUE0007)
			dto.setIsDel(vo.getIsDel());//是否删除（1：是，0：否）
			dto.setDataTable(vo.getDataTable());//data_id的表名称
			dto.setCaseNo(vo.getCaseNo());//案件编号 冗余SUE_BSC_INFO.CASE_NO 的首次立案编号
			dto.setRegistTm(vo.getRegistTm());//立案时间 冗余SUE_BSC_INFO.REGIST_TM 的首次立案时间
			dto.setCaseNo2(vo.getCaseNo2());//二审的案件编号 SUE_BSC_INFO.CASE_NO
			dto.setRegistTm2(vo.getRegistTm2());//二审立案时间 SUE_BSC_INFO.REGIST_TM

			dto.setCrtTm(vo.getCrtTm());//创建时间
			dto.setCrtUsrId(vo.getCrtUsrId());//创建人
			dto.setMdfTm(vo.getMdfTm());//修改时间
			dto.setMdfUsrId(vo.getMdfUsrId());//修改人
		}
		return dto;
	}
	
	/**
	 * DTO集合 转 VO集合
	 * @return List<SueApplyInfoVO>
	 */
	public static List<SueApplyInfoVO> toVOList(List<SueApplyInfoDTO> list) {
		List<SueApplyInfoVO>  voList = new ArrayList<SueApplyInfoVO>();
		if(CollectionUtils.isNotEmpty(list)){
			for (SueApplyInfoDTO dto : list) {
				voList.add(toVO(dto));
			}
		}
		return voList;
	}
	
	/**
	 * VO集合 转 DTO集合
	 * @param list List<SueApplyInfoVO>
	 * @return List<SueApplyInfoDTO>
	 */
	public static List<SueApplyInfoDTO> toDTOList(List<SueApplyInfoVO> list) {
		List<SueApplyInfoDTO>  dtoList = new ArrayList<SueApplyInfoDTO>();
		if(CollectionUtils.isNotEmpty(list)){
			for (SueApplyInfoVO vo : list) {
				dtoList.add(toDTO(vo));
			}
		}
		return dtoList;
	}
}
